package map;

import java.util.*;

/**
 * Map的遍历
 * Map提供了三种遍历方式:
 * 1:遍历所有的key
 * 2:遍历每一组键值对
 * 3:遍历所有的value(该操作不常用)
 */
public class MapDemo2 {
    public static void main(String[] args) {
        Map<String,Integer> map=new HashMap<>();
        map.put("语文",99);
        map.put("数学",98);
        map.put("英语",97);
        map.put("物理",96);
        map.put("化学",99);
        System.out.println(map);

        Set<String> KeySet=map.keySet();

        for (String key:KeySet){
            System.out.println("key:"+key);

        }


        /*
            Set entrySet()
            将当前Map中每一组键值对以一个Entry实例形式表示，并存入Set集合后返回
            java.util.Map.Entry的每一个实例用于表示Map中的一组键值对，其中方法:
            K getKey():获取对应的key
            V getValue():获取对应的value
         */
        Set<Map.Entry<String,Integer>> entrySet= map.entrySet();
        for (Map.Entry<String,Integer> e: entrySet){
        String key=e.getKey();
        Integer value= e.getValue();
        System.out.println(key+":"+value);
        }


        /*
        Collection values()
        将当前Map中的value以一个集合的形式返回
         */

        Collection<Integer> values=map.values();
        System.out.println(values);
        for (Integer value: values){
            System.out.println("value:"+value);
        }

    }
}
